![]() チップマルチプロセッサにおけるキャッシュの適応的編成方法
专利摘要:
不定形なキャッシングを有する方法、チップマルチプロセッサタイル、およびチップマルチプロセッサを開示する。初期プロセッシングコア404は、データストレージからデータブロックを取得してよい。初期プロセッシングコア404に隣接する初期不定形キャッシュバンク410は、初期データブロックコピー422を格納してよい。ホームバンクディレクトリ424は、初期データブロックコピー422を登録してよい。 公开号:JP2011511989A 申请号:JP2010546148 申请日:2009-03-31 公开日:2011-04-14 发明作者:クマール、アキレシュ;ケルクリ、ナヴィーン;ショイナス、イオアンニス、ティー.;チォウ、チン−ツン;パク、スンジュン 申请人:インテル・コーポレーション; IPC主号:G06F12-08
专利说明:
[0001] 本発明は、概してチップマルチプロセッサのキャッシング分野に関する。より具体的には、本発明はチップマルチプロセッサの不定形なキャッシュに関する。] 背景技術 [0002] いくつものプロセッサコアを有するチップマルチプロセッサ(CMP)システムは、各タイルがプロセッサコア、プライベートキャッシュ(L1)、第2のプライベートキャッシュまたは共有キャッシュ(L2)、およびキャッシュされたプライベートコピーのコピーを追跡するディレクトリを有したタイル構造を用いてよい。歴史的に、これらのタイル構造は、2つの型のL2編成のうちいずれかを有してよい。] [0003] マルチスレッドのワークロードを実行するCMPシステムは、スレッド間で建設的にデータを共有することから、共有L2キャッシュのアプローチを用いてよい。共有L2キャッシュのアプローチでは、データが重複しないことで有効なL2キャッシュの容量を最大化し得るが、一方でプライベートL2キャッシュに比べて平均成功レイテンシー時間が延びる。これらの設計では、L2キャッシュおよびディレクトリを1つの構造として扱ってよい。] [0004] スカラーであって、かつレイテンシーに敏感なワークロードを実行するCMPシステムでは、データの潜在的な複製による有効キャッシュ容量の潜在的な低減を犠牲にした上でレイテンシーを最適化する、プライベートL2キャッシュ編成が望ましい場合がある。プライベートL2キャッシュは、キャッシュの借用を禁止しつつ、キャッシュの分離を提供し得る。一部のコアにおけるキャッシュ集中型のアプリケーションでは、非アクティブコアまたは小さなデータフットプリントのアプリケーションを実行しているコアからキャッシュを借用することができない場合がある。] [0005] 一部の汎用CMPシステムには、3つのレベルのキャッシュがあってよい。L1キャッシュおよびL2キャッシュは、2つのプライベートレベルを形成してよい。全てのコアで第3のL3キャッシュを共有してよい。] 図面の簡単な説明 [0006] これらの図面は、本発明の典型的な実施形態のみを示し、本発明の範囲を限定するものではないことを理解した上で、添付の図面を用い、さらなる具体性と詳細をもって本発明を詳述し説明する。図面は以下の通りである。] [0007] ある実施形態による、プライベートおよび共有キャッシュを有するチップマルチプロセッサのブロック図を示す。] [0008] ある実施形態による、不定形なキャッシュ構造を有するチップマルチプロセッサのブロック図を示す。] [0009] ある実施形態による、チップマルチプロセッサタイルのブロック図を示す。] [0010] ある実施形態による、データの割り当てを実行する、不定形なキャッシュ構造を有するチップマルチプロセッサのブロック図を示す。] [0011] ある実施形態による、不定形なキャッシュを有するチップマルチプロセッサにおけるデータブロックコピーの割り当て方法のフローチャート図を示す。] [0012] ある実施形態による、データの移行を実行する、不定形なキャッシュ構造を有するチップマルチプロセッサのブロック図を示す。] [0013] ある実施形態による、不定形なキャッシュを有するチップマルチプロセッサにおけるデータの複製方法のフローチャート図を示す。] [0014] ある実施形態による、コピーの犠牲を実行する、不定形なキャッシュ構造を有するチップマルチプロセッサのブロック図を示す。] [0015] ある実施形態による、不定形なキャッシュを有するチップマルチプロセッサにおけるデータの犠牲方法のフローチャート図を示す。] [0016] ある実施形態による、不定形なキャッシュバンクとディレクトリ構造とが組み合わされたチップマルチプロセッサのブロック図を示す。] 実施例 [0017] 本発明のさらなる特徴および利点を以下に説明する。説明によって自明である部分、または本発明の実施によって明らかとなる部分がある。本発明の特徴および利点は、添付の請求の範囲に具体的に示された機器および組み合わせを手段として具現化および実現され得る。本発明のこれらおよびその他の特徴は、以下の説明および添付の請求の範囲によって、より完全に明らかとなるであろう。また、本発明のこれらおよびその他の特徴は、ここに説明した本発明の実施によって明らかとなり得る。] [0018] 本発明の様々な実施形態を詳細に以下に説明する。具体的な実施の説明は、例示を目的になされることが理解されるべきである。関連技術の当業者であれば、本発明の趣旨および範囲から解離することなく、その他の構成部材および設定を使用できることは明らかである。] [0019] 本発明は、方法、装置およびコンピュータ命令のセットなどの様々な実施形態、さらには本発明の基本的な概念に関連したその他の実施形態を備える。方法、チップマルチプロセッサタイル、および不定形なキャッシングを有するチップマルチプロセッサを開示する。初期プロセッシングコアは、データストレージからデータブロックを取得してよい。初期プロセッシングコアに隣接する初期不定形キャッシュバンクは、初期データブロックコピーを格納してよい。ホームバンクディレクトリは、初期データブロックコピーを登録してよい。] [0020] チップマルチプロセッサ(CMP)は、それぞれが1つ以上のキャッシュを有するいくつかのプロセッサを1つのチップ上に有してよい。これらのキャッシュは、関連したプロセッサのデータを格納する専用のプライベートキャッシュ、または全てのプロセッサが利用可能なデータを格納する共有キャッシュであってよい。図1は、ある実施形態による、プライベートおよび共有キャッシュを有するCMP100の簡易なブロック図である。CMP100は、1つ以上のプロセッサコア(PC)102を1つのチップ上に有してよい。PC102は、プロセッサ、コアプロセッサ、固定機能コントローラ、またはその他の種類のプロセッシングコアであってよい。PC102のそれぞれは、付属のコアキャッシュ(C$)104を有してよい。] 図1 [0021] PC102はプライベートキャッシュ(P$)106に接続されてよい。P$106へのアクセスはローカルPC102によるアクセスにのみに制限されていてもよいが、ディレクトリ情報およびプロトコルの動作に基づいて、その他のPC102によるスヌーピングを許可してもよい。P$106のラインは、ローカルPC102によってあらゆるアドレスに割り当てられてよい。PC102は、ディレクトリまたはその他のメモリソースへ転送される要求をコヒーレンシプロトコルエンジンへ渡す前にP$106にアクセスしてよい。P$106のラインは、いかなるP$バンク106で複製されてもよい。] [0022] PC102はさらに、共有キャッシュ108に接続されてよい。共有キャッシュ108は全てのPC102からアクセス可能であってよい。いかなるPC102も、共有キャッシュ108のラインをアドレスのサブセットに割り当ててよい。PC102は、コヒーレンシプロトコルエンジンを経た後に共有キャッシュ108にアクセスしてよく、その他のメモリソースのトラバースが関与してよい。共有キャッシュ108は、それぞれのPC102について、別個の共有キャッシュバンク(S$B)110を有してよい。各データブロックは、全てのS$B110において固有の場所を有してよい。各S$B110は、C$104に格納されたキャッシュデータブロック、P$106、S$B110、または3つのうちのいくつかの組み合わせを追跡するディレクトリ(DIR)112を有してよい。] [0023] 「不定形キャッシュ」と呼ばれるシングルキャッシュ構造は、プライベートキャッシュ、共有キャッシュ、またはその両方としていつでも機能してよい。不定形キャッシュは、プライベートキャッシュ設計のレイテンシーに関する利点と、共有キャッシュ設計の容量に関する利点とを同時に提供する。構造はさらに、ランタイム構成がプライベートまたは共有キャッシュバイアスのいずれかを追加することを許容する。シングルキャッシュ設計は、プライベートキャッシュ、共有キャッシュ、またはプライベート部分および共有部分における動的な割り当てを有するハイブリッドキャッシュのいずれかであるかの様に機能してよい。全てのPC102は、不定形キャッシュにアクセスしてよい。ローカルPC102は、不定形キャッシュのラインをあらゆるアドレスに割り当ててよい。その他のPC102は、不定形キャッシュのラインをアドレスのサブセットに割り当ててよい。不定形キャッシュは、ローカルPC102の要求に基づいて、いかなる不定形キャッシュバンクにおいてもラインが複製されることを許容してよい。ローカルPC102は、コヒーレンシプロトコルエンジンを経る前に不定形キャッシュバンクにアクセスしてよい。その他のPC102は、コヒーレンシプロトコルエンジンによって不定形キャッシュバンクにアクセスしてよい。] [0024] 図2は、ある実施形態による、不定形キャッシュ構造を有するCMP200の簡易なブロック図である。C$104が付属した1つ以上のPC102は、不定形キャッシュ202に接続されてよい。不定形キャッシュ202は、各PC102について別個の不定形キャッシュバンク(A$B)204へと分割されてよい。各A$B204は、A$B204に格納されたキャッシュデータブロックを追跡するディレクトリ(DIR)206を別個に有してよい。] 図2 [0025] キャッシュ編成は、タイル構造、均一構造、不均一構造、またはその他のCMP構造を用いてよい。タイル構造のタイルは、コヒーレントスイッチ、バス、またはその他によって接続されてよい。図3は、ある実施形態のCMPタイル300のブロック図を示す。CMPタイル300は、C$104を共有する1つ以上のプロセッサコア102を有してよい。PC102は、プライベート部分および共有部分に動的にパーティショニングされたA$B204にキャッシュコントローラ302を介してアクセスしてよい。CMPタイル300は、ダイ上の全てのプライベートキャッシュブロックを追跡するDIR構成部材206を有してよい。キャッシュコントローラ302は、タイル300のプライベートデータを保持する受信したコア要求をローカルA$B204へ送信してよい。キャッシュプロトコルエンジン304は、ローカルA$Bにおけるミスをホームタイルへオンダイのインタコネクトモジュール306を介して送信してよい。オンダイのインタコネクトモジュール306を介してアクセス可能なホームタイルのA$バンクが、データのミスを補完してよい。キャッシュプロトコルエンジン304は、必要に応じて、ホームタイルのDIRバンク206をルックアップし、遠隔のプライベートA$Bをスヌーピングしてよい。全ての必要なスヌーピングを解決した後のホームタイルでのミスは、ホームタイルによるオフソケット要求の開始を引き起こす場合がある。純粋にプライベートキャッシュとして機能するように設定されたA$B204は、A$B204のホームタイルのルックアップを行わず、ディレクトリの流れに従ってよい。純粋に共有キャッシュとして機能するように設定されたA$B204は、A$B204のルックアップを行わず、ホームタイルへ直接進んでよい。ブロックの割り当て、移行、犠牲、複製、置換、および逆無効化に関するプロトコル動作をキャッシュすることにより、A$B204の動的なパーティショニングが実現されてよい。] 図3 [0026] 図4は、ある実施形態による、データの割り当てを実行する、不定形キャッシュを有するCMP400のブロック図を示す。初期CMPタイル402は、当該データブロックのホームCMPタイル404を確認後、データストレージユニットのデータブロックへのアクセスを要求してよい。初期CMPタイル402は、初期プロセッシングコア(IPC)406、初期コアキャッシュ(IC$)408、初期不定形キャッシュバンク(IA$B)410、および初期ディレクトリ(IDIR)412を有してよい。ホームCMPタイル404は、ホームプロセッシングコア(HPC)414、ホームコアキャッシュ(HC$)416、ホーム不定形キャッシュバンク(HA$B)418、およびホームディレクトリ(HDIR)420を有してよい。初期CMPタイル402は、IA$B410に初期データブロックコピー(IDBC)422またはキャッシュブロックを格納してよい。ホームCMPタイル404は、HDIR420にホームデータブロックレジスタ(HDBR)424を登録し、各不定形キャッシュバンクのデータブロックのコピーを追跡してよい。これまでの共有キャッシュ構造では、初期CMPタイル402およびホームCMPタイル406の近接性に関わらず、ホームCMPタイル404にデータブロックが割り当てられてきた場合がある。] 図4 [0027] 図5は、ある実施形態による、不定形キャッシュを有するCMP200におけるデータブロックコピーの割り当て方法500のフローチャート図を示す。ステップ502では、初期CMPタイル402がHDIRのデータブロック(DB)を確認してよい。ステップ504でHA$BにDBが存在する場合には、ステップ506で初期CMPタイル402がHA$BからDBを取得してよい。ステップ504でHA$BにDBが存在しない場合には、ステップ508で初期CMPタイル402がデータストレージからDBを取得してよい。ステップ510では、初期CMPタイル402がIA$B410にIDBC422を格納してよい。ステップ512では、ホームCMPタイル404がHDIR420にHDBR424を登録してよい。] 図5 [0028] 図6は、ある実施形態による、データ移行を実行する、不定形キャッシュを有するCMP600のブロック図を示す。後続CMPタイル602は、IA$B410にIDBC422として格納されたデータブロックを求めてよい。後続CMPタイル602は、後続プロセッシングコア(SPC)604、後続コアキャッシュ(SC$)606、後続不定形キャッシュバンク(SA$B)608、および後続ディレクトリ(SDIR)610を有してよい。後続CMPタイル602は、データブロックを探してデータストレージにアクセスする前にHDIR420を確認し、チップ上のキャッシュバンクにデータブロックのコピーが既に存在するかを確定してよい。データブロックが存在する場合は、ホームCMPタイル404は、ホームデータブロックコピー(HDBC)612として、IDBC422をHA$B418へコピーしてよい。後続CMPタイル602は、SA$B608において、HDBC612から後続データブロックコピー(SDBC)614を作成してよい。またこれに代えて、後続CMPタイル602は、SA$B608でIDBC422から後続データブロックコピー(SDBC)614を作成した後に、HDBC612を作成してよい。後のデータブロックコピーは、HDBC612から作成されてよい。この移行スキームは、共有キャッシュの容量に関する利点を提供できる。後の要求者は、遠隔のプライベートキャッシュにおいて、当該データブロックのレイテンシーが軽減されている事を認識する場合がある。移行におけるしきい値は個別に調整できるが、移行は2番目の要求者が存在している場合に発生してよい。初期CMPタイル402および後続CMPタイル602の両方は、有効な複製ポリシーに応じて、不定形キャッシュに加えてコアキャッシュでもデータブロックコピーを保持してよい。] 図6 [0029] 容量に関する利点を提供するべく、共有されたデータブロックコピーは、HA$B418へ移行してよい。プライベートキャッシュのそれぞれは、この共有されたデータブロックの複製をキャッシュして、レイテンシーと引き換えに容量を得てよい。不定形キャッシュは、複製に対応してよいが、義務付けられてはいない。不定形キャッシュは適宜複製されてよく、個々のインスタンスとは対照的に置換する複製をバイアスしてよい。] [0030] 初期CMPタイル402は、IA$B410内のIDBC422の犠牲を監視する初期レジスタ(IREG)616を有してよい。IREG616は、MRU(Most Recently Used)キャッシュブロックからLRU(Least recently Used)キャッシュブロックへと編成されてよく、最初に削除されるのは、このうちLRUキャッシュブロックである。IDBC422は、データストレージまたはHA$B418からコピーされた後、MRUとしてIREG616にエンターされ、最後に削除されるものとしてバイアスされる。ホームCMPタイル404は、HA$B418内のHDBC612の犠牲を監視するホームレジスタ(HREG)618を有してよい。後続CMPタイル602によって利用され得るように、IDBC422がIA$B410からHA$B418へコピーされた後、HDBC612は、MRUとしてHREG618にエンターされ、最後に削除されるものとしてバイアスされる。さらにIDBC422は、IREG616内でLRU端の近くへと移動され、早期削除されるものとしてバイアスされてよい。後続CMPタイル602は、SA$B608内のSDBC614の犠牲を監視する後続レジスタ(SREG)620を有してよい。SDBC614は、HA$B418からコピーされた後、SREG620のLRU端の近くにエンターされ、早期削除されるものとしてバイアスされてよい。] [0031] IREG616を用いて、不定形キャッシュが、プライベートキャッシュまたは共有キャッシュとして動作するのかをIREG616内のIDBC422の配置に基づいて設定してよい。共有キャッシュの設定では、IDBC422がIREG616内のLRU位置に配されてよい。さらに、HDBC612がHREG620内のMRU位置に配されてよい。プライベートキャッシュの設定では、IDBC422がMRU位置に配されてよい。さらに、HDBC612は、HREG620内のLRU位置に配されるか、または割り当てられないままでよい。] [0032] 図7は、ある実施形態による、不定形キャッシュを有するCMP200におけるデータの複製方法700のフローチャート図を示す。ステップ702では、後続CMPタイル602がHDIR420内のHDBR424にアクセスしてよい。ステップ704では、ホームCMPタイル404がIA$B410からIDBC422を取得してよい。ステップ706では、ホームCMPタイル404がHA$B418内にHDBC612を格納してよい。ステップ708では、後続CMPタイル602がSA$B608内にSDBC614を格納してよい。ステップ710では、後続CMPタイル602がHDIR420内にSDBC614を格納してよい。ステップ712では、初期CMPタイル402がIDBC422を早期削除のためバイアスしてよい。ステップ714では、後続CMPタイル602がSDBC614を早期削除のためバイアスしてよい。] 図7 [0033] 図8は、ある実施形態による、コピーの犠牲を実行する、不定形キャッシュを有するCMP800のブロック図を示す。不定形キャッシュバンクから排他的にクリーンまたはダーティなデータブロックコピーが削除されると、初期CMPタイル402は、クリーンまたはダーティなIDBC422を削除ホームデータブロックコピー(EHDBC)802としてHA$B418に書き込んでよい。EHDBC802は、HREG620のLRU端近くにエンターされ、早期削除されるものとしてバイアスされてよい。プライベートキャッシュ構造または設定を有するCMPタイルがEHDB802のコピーを要求する場合は、EHDBC802はLRU位置に留まってよく、新たな要求者は、要求者データブロックコピーをMRU位置に置いてよい。後続のCMPタイルがホームCMPタイル404から要求を行う場合には、EHDBC802はMRU位置へ移動されてよく、その後の要求者は後のデータブロックコピーをLRU位置に置いてよい。] 図8 [0034] これまでの構造では、プライベートキャッシュまたは共有キャッシュがクリーンな犠牲または変更されていないキャッシュブロックを落とし、ダーティな犠牲または変更されたキャッシュをメモリに書き込む場合がある。不定形なキャッシングでは、IDBC422をHA$B418に書き込むことで、キャッシュの借用を生じさせる場合がある。キャッシュの借用は、データ集中型のアプリケーションが他のタイルのキャッシュを用いることを可能にする。] [0035] これまでの構造では、プライベートキャッシュデータブロックコピーの追跡が困難であり、ディレクトリの犠牲には、全てのプライベートキャッシュデータブロックコピーが無効化される必要があった。これらのデータブロックへのその後のアクセスには、メモリアクセスが必要な場合がある。不定形キャッシュでは、ディレクトリによる追跡が不要なホームタイルにディレクトリ犠牲を移動させることで、無効化の影響を緩和させることができる。] [0036] 図9は、ある実施形態による、不定形キャッシュを有するCMP200におけるデータ複製方法700のフローチャート図を示す。ステップ902では、初期CMPタイル402がIA$B410からIDBC422を削除してよい。ステップ904では、初期CMPタイル402がHA$b418にIDBC422を書き込んでよい。ステップ906では、ホームCMPタイル404がEHDBC802を早期削除のためバイアスしてよい。ステップ908でホームCMPタイル404が最終的にEHDBC802を削除すると、ステップ910でホームCMPタイル404がデータストレージにEHDBC802を書き込んでよい。] 図9 [0037] 不定形キャッシュバンク204およびディレクトリ206は別個のコンストラクトであってよい。図10は、不定形キャッシュバンク(A$B)1002とディレクトリ(DIR)1004構造とが組み合わされたCMP1000のブロック図を示す。A$B1002は、データブロックコピー(DBC)1006のセットを含んでよい。DIR1004は、ホームバンクデータブロックレジストレーション(HBDBR)1008をDBC1006に関連付けてよい。さらに、DIR1004は、1つ以上のオルタネートバンクデータブロック登録(ABDBR)1010をDBC1006に関連付け、DIR1004がA$B1002よりも多くのデータブロックを有する結果を生じさせてよい。] 図10 [0038] 必須ではないが、少なくとも一部において、本発明は、汎用コンピュータなどの電子機器によって実行される、プログラムモジュールなどのコンピュータで実行可能な一般的な命令に照らして説明される。一般的に、プログラムモジュールは、特定のタスクを実行または特定の抽象データ型を実装する、ルーチンプログラム、オブジェクト、コンポーネント、データ構造などを含む。さらに、PC、携帯デバイス、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な電化製品、ネットワークに接続したPC,ミニコンピュータ、メインフレームコンピュータ、およびこれらの類似品を含む、様々な種類のコンピュータシステム構成を有するネットワークコンピューティング環境において、本発明の他の実施形態を実施可能であることは、当業者にとって当然である。] [0039] 実施形態は、分散コンピューティング環境においても実施可能である。分散コンピューティング環境では、通信ネットワークを介して有線リンク、無線リンク、またはこれらの組み合わせによってリンクされたローカルおよび遠隔のプロセッシング機器によってタスクが実行される、] [0040] 本発明の範囲内の実施形態は、格納されたコンピュータで実行可能な命令またはデータ構造を搬送または保有するコンピュータ可読な媒体も含む。このようなコンピュータ可読な媒体は、汎用または特殊用途のコンピュータによってアクセスできる利用可能なあらゆる媒体であってよい。このようなコンピュータ可読な媒体は、これらに限定されないが、例えば、RAM、ROM、EEPROM(登録商標),CD−ROMまたはその他の光ディスクストレージ、磁気ディスクストレージまたはその他の磁気ストレージデバイス、もしくは、コンピュータで実行可能な命令またはデータ構造の形式による所望のプログラムコード手段の運搬または格納に使用し得る、その他のあらゆる媒体を含んでよい。ネットワークまたは別の通信接続(有線、無線、またはこれらの組み合わせ)によって情報がコンピュータへ転送または供給される場合、コンピュータは接続をコンピュータ可読な媒体として適切に捉える。従って、このような全ての接続は、コンピュータ可読な媒体と適切に称される。上述の組み合わせもまたコンピュータ可読な媒体の範囲に含まれるべきである。] [0041] コンピュータで実行可能な命令は、例えば、汎用コンピュータ、特殊用途コンピュータ、または特殊用途プロセッシングデバイスに特定の機能または機能群を実行させる命令およびデータを含む。また、コンピュータで実行可能な命令は、スタンドアロンまたはネットワーク環境のコンピュータによって実行されるプログラムモジュールも含む。一般的に、プログラムモジュールは、特定のタスクを実行、または特定の抽象データ型を実装する、ルーチンプログラム、オブジェクト、コンポーネント、データ構造などを含む。コンピュータで実行可能な命令、関連付けられたデータ構造、およびプログラムモジュールは、開示した方法の段階を実行するプログラムコード手段の例である。このような実行可能な命令または関連付けられたデータ構造の特定の順序は、このような段階で説明された機能を実装するための対応動作の例である。] [0042] 以上の説明は具体的な詳細を含むが、請求の範囲を限定するものであると解釈されるべきではない。本発明の説明された実施形態のその他の構成は、本発明の範囲の一部である。例えば、各個人ユーザが本発明の本質を適用し、各ユーザがこのようなシステムを展開し得る。従って、実行し得る数多くのアプリケーションの1つが、ここに説明した機能を必要としない場合でも、個ユーザが本発明の恩恵を利用することができる。つまり、各電子デバイスが内容を様々な方法で処理する場合が複数あり得る。全てのエンドユーザによって使用される1つのシステムである必要はない。従って、本発明は、示された具体的な例によってではなく、添付の請求の範囲およびそれらの法的な等価物によってのみ定義されるべきである。]
权利要求:
請求項1 初期プロセッシングコアでデータストレージからデータブロックを取得する段階と、前記初期プロセッシングコアに隣接する初期不定形キャッシュバンクに初期データブロックコピーを格納する段階と、前記初期データブロックコピーをホームバンクディレクトリに格納する段階とを備える方法。 請求項2 後続プロセッシングコアで前記初期不定形キャッシュバンクから前記初期データブロックコピーを取得する段階と、前記後続プロセッシングコアに隣接する後続不定形キャッシュバンクに後続データブロックコピーを格納する段階と、前記後続データブロックコピーを前記ホームバンクディレクトリに格納する段階とをさらに備える請求項1に記載の方法。 請求項3 ホーム不定形キャッシュバンクにホームデータブロックコピーを格納する段階をさらに備える請求項2に記載の方法。 請求項4 前記初期不定形キャッシュバンクからの早期削除のため前記初期データブロックコピーをバイアスする段階をさらに備える請求項1に記載の方法。 請求項5 前記初期不定形キャッシュバンクから前記初期データブロックコピーを削除する段階と、ホーム不定形キャッシュバンクに前記初期データブロックコピーを書き込む段階とをさらに備える請求項1に記載の方法。 請求項6 前記ホーム不定形キャッシュバンクからの早期削除のため前記初期データブロックコピーをバイアスする段階をさらに備える請求項5に記載の方法。 請求項7 前記ホームバンクディレクトリは、ホーム不定形キャッシュバンクの一部であり、リスティングに利用可能なブロックの数が、前記ホーム不定形キャッシュバンクが有するデータブロックの数よりも多い請求項1に記載の方法。 請求項8 データストレージからデータブロックを取得する初期プロセッシングコアと、ホームバンクディレクトリに登録された初期データブロックコピーを格納する初期不定形キャッシュバンクとを備え、前記初期不定形キャッシュバンクは、前記初期プロセッシングコアに隣接する初期チップマルチプロセッサタイル。 請求項9 後続プロセッシングコアは、前記初期不定形キャッシュバンクから前記初期データブロックコピーを取得し、前記後続プロセッシングコアに隣接する後続不定形キャッシュバンクは、前記ホームバンクディレクトリに登録された後続データブロックコピーを格納する請求項8に記載の初期チップマルチプロセッサタイル。 請求項10 ホーム不定形キャッシュバンクは、ホームデータブロックコピーを格納する請求項9に記載の初期チップマルチプロセッサタイル。 請求項11 前記初期データブロックコピーは、前記初期不定形キャッシュバンクからの早期削除のためバイアスされる請求項8に記載の初期チップマルチプロセッサタイル。 請求項12 前記初期データブロックコピーは、前記初期不定形キャッシュバンクから削除され、ホーム不定形キャッシュバンクに書き込まれる請求項8に記載の初期チップマルチプロセッサタイル。 請求項13 前記初期データブロックコピーは、前記ホーム不定形キャッシュバンクからの早期削除のためバイアスされる請求項12に記載の初期チップマルチプロセッサタイル。 請求項14 データストレージからデータブロックを取得する初期プロセッシングコアと、前記初期プロセッシングコアに隣接し、初期データブロックコピーを格納する初期不定形キャッシュバンクと、前記初期データブロックコピーを登録するホームバンクディレクトリとを備えるチップマルチプロセッサ。 請求項15 前記初期不定形キャッシュバンクから前記初期データブロックコピーを取得する後続プロセッシングコアと、前記後続プロセッシングコアに隣接し、前記ホームバンクディレクトリに登録された後続データブロックコピーを格納する後続不定形キャッシュバンクとをさらに備える請求項14に記載のチップマルチプロセッサ。 請求項16 ホームデータブロックコピーを格納するホーム不定形キャッシュバンクをさらに備える請求項15に記載のチップマルチプロセッサ。 請求項17 前記初期データブロックコピーは、前記初期不定形キャッシュバンクからの早期削除のためバイアスされる請求項14に記載のチップマルチプロセッサ。 請求項18 前記初期データブロックコピーは、前記初期不定形キャッシュバンクから削除され、ホーム不定形キャッシュバンクに書き込まれる請求項14に記載のチップマルチプロセッサ。 請求項19 前記初期データブロックコピーは、前記ホーム不定形キャッシュバンクからの早期削除へとバイアスされる請求項18に記載のチップマルチプロセッサ。 請求項20 前記ホームバンクディレクトリは、ホーム不定形キャッシュバンクの一部であり、リスティングに利用可能なデータブロックの数が、前記ホーム不定形キャッシュバンクが有するデータブロックの数よりも多い請求項14に記載のチップマルチプロセッサ。
类似技术:
公开号 | 公开日 | 专利标题 US9665486B2|2017-05-30|Hierarchical cache structure and handling thereof JP5431525B2|2014-03-05|アクセラレータ用低コストのキャッシュ一貫性を維持するシステム US6141692A|2000-10-31|Directory-based, shared-memory, scaleable multiprocessor computer system having deadlock-free transaction flow sans flow control protocol US8996812B2|2015-03-31|Write-back coherency data cache for resolving read/write conflicts US5535116A|1996-07-09|Flat cache-only multi-processor architectures US6775748B2|2004-08-10|Methods and apparatus for transferring cache block ownership JP3722415B2|2005-11-30|効率的なバス機構及びコヒーレンス制御を有する繰り返しチップ構造を有するスケーラブル共用メモリ・マルチプロセッサ・コンピュータ・システム US8412907B1|2013-04-02|System, method and computer program product for application-level cache-mapping awareness and reallocation US5893150A|1999-04-06|Efficient allocation of cache memory space in a computer system US9043560B2|2015-05-26|Distributed cache coherency protocol US7062613B2|2006-06-13|Methods and apparatus for cache intervention KR101569160B1|2015-11-13|캐시에서의 웨이 할당 및 웨이 로킹 방법 TWI391821B|2013-04-01|在互連結構上發佈請求而無參照基於標籤快取狀態的低階快取之處理單元及資料處理系統與方法 US6990559B2|2006-01-24|Mechanism for resolving ambiguous invalidates in a computer system US7779292B2|2010-08-17|Efficient storage of metadata in a system memory RU2443011C2|2012-02-20|Фильтрация отслеживания с использованием кэша запросов отслеживания KR100194253B1|1999-06-15|메시 데이터 코히어런시 프로토콜 이용 방법 및 멀티프로세서 시스템 JP4737691B2|2011-08-03|排他的所有権のスヌープフィルタ US5303362A|1994-04-12|Coupled memory multiprocessor computer system including cache coherency management protocols US8347037B2|2013-01-01|Victim cache replacement US6295582B1|2001-09-25|System and method for managing data in an asynchronous I/O cache memory to maintain a predetermined amount of storage space that is readily available US5749095A|1998-05-05|Multiprocessing system configured to perform efficient write operations US7500065B2|2009-03-03|Data processing system and method for efficient L3 cache directory management US7373457B2|2008-05-13|Cache coherence protocol for a multiple bus multiprocessor system US7747826B2|2010-06-29|Data processing system and method for efficient communication utilizing an in coherency state
同族专利:
公开号 | 公开日 US20130070763A1|2013-03-21| DE112009000834B4|2017-05-24| RU2010139595A|2012-04-10| CN103501285B|2015-07-22| CN101978659B|2013-11-06| RU2487401C2|2013-07-10| GB201017257D0|2010-11-24| GB2470878B|2013-03-20| JP5335892B2|2013-11-06| KR20100134004A|2010-12-22| DE112009000836T5|2011-04-28| US20090252171A1|2009-10-08| CN103501285A|2014-01-08| GB2470878A|2010-12-08| BRPI0911368A2|2017-02-07| KR101170262B1|2012-08-01| DE112009000834T5|2011-04-28| WO2009146025A3|2010-03-18| WO2009146025A2|2009-12-03| CN101978659A|2011-02-16| JP2011517903A|2011-06-16| BRPI0911376A2|2018-03-20| US9391913B2|2016-07-12| JP5201514B2|2013-06-05| US8223650B2|2012-07-17| WO2009146027A1|2009-12-03|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
2012-08-29| A977| Report on retrieval|Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120829 | 2012-09-05| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120904 | 2012-12-05| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121204 | 2013-01-07| TRDD| Decision of grant or rejection written| 2013-01-16| A01| Written decision to grant a patent or to grant a registration (utility model)|Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130115 | 2013-02-07| A61| First payment of annual fees (during grant procedure)|Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130201 | 2013-02-22| R150| Certificate of patent or registration of utility model|Free format text: JAPANESE INTERMEDIATE CODE: R150 | 2013-02-25| FPAY| Renewal fee payment (event date is renewal date of database)|Free format text: PAYMENT UNTIL: 20160222 Year of fee payment: 3 | 2016-02-22| LAPS| Cancellation because of no payment of annual fees|
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|